// 数字以123456789101112131415的格式化序列到一个字符序列中，现在给定整数n，要求返回任意第n位对应的数字
// 思路：定义 位数digits = 1，起始值start = 1，数字的总数量 nCount = 9 * start * digits
// 1-9，是9个1位数字
// 10-99，是90个2位数字
// 100-999，是900个3位数字
// 1000-9999，是9000个4位数字

function findNthDigit(n) {
    let digits = 1 // 当前位数
    let start = 1 // 当前起始值
    let baseCount = 9 // 当前位数对应多少个数
    // 遍历去减去
    while (n > baseCount) {
        n -= baseCount
        start *= 10
        digits += 1
        baseCount = start * 9 * digits
    }
    // 计算出第n个数字所在的数字number
    let val = start + Math.floor((n - 1) / digits)
    // 第n个数字在该number中的位置
    let index = (n - 1) % digits
    return Number(String(val)[index])
}

console.log(findNthDigit(256))